/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package EntityState;

import java.io.Serializable;
import java.util.List;

/**
 *
 * @author James
 */
public class ItemCategoryState implements Serializable {
    private long    id;
    private String  name;
    private String  description;
    private int     discount;     // percentage will be negative (e.g. -20 will be 20% discount), amount will be positive (e.g. 20 will be $20 discount)
    private long    createdDate;
    private boolean active;
    private boolean deleted;
    private PartnerState thePartner;
    private OutletState  theOutlet;
    private List<ItemState> listOfItems;

    public ItemCategoryState(long id, String name, PartnerState thePartner, OutletState theOutlet) {
        this.id         = id;
        this.name       = name;
        this.thePartner = thePartner;
        this.theOutlet  = theOutlet;
    }
    
    public ItemCategoryState(long id, String name, String description, int discount, long createdDate) {
        this.id          = id;
        this.name        = name;
        this.description = description;
        this.discount    = discount;
        this.createdDate = createdDate;
    }
    
    public ItemCategoryState(long id, String name, String description, int discount, long createdDate, boolean active) {
        this.id          = id;
        this.name        = name;
        this.description = description;
        this.discount    = discount;
        this.createdDate = createdDate;
        this.active      = active;
    }
    
    public ItemCategoryState(long id, String name, String description, int discount, long createdDate, List<ItemState> listOfItems) {
        this.id          = id;
        this.name        = name;
        this.description = description;
        this.discount    = discount;
        this.createdDate = createdDate;
        this.listOfItems = listOfItems;
    }
    
    public ItemCategoryState(long id, String name, String description, int discount, long createdDate, boolean active, List<ItemState> listOfItems) {
        this.id          = id;
        this.name        = name;
        this.description = description;
        this.discount    = discount;
        this.createdDate = createdDate;
        this.active      = active;
        this.listOfItems = listOfItems;
    }

    public ItemCategoryState(long id, String name, String description, int discount, long createdDate, PartnerState thePartner, OutletState theOutlet, List<ItemState> listOfItems) {
        this.id          = id;
        this.name        = name;
        this.description = description;
        this.discount    = discount;
        this.createdDate = createdDate;
        this.thePartner  = thePartner;
        this.theOutlet   = theOutlet;
        this.listOfItems = listOfItems;
    }
    
    //Getters and Setters
    public long getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(long createdDate) {
        this.createdDate = createdDate;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public boolean isActive() {
        return active;
    }

    public void setActive(boolean active) {
        this.active = active;
    }

    public boolean isDeleted() {
        return deleted;
    }

    public void setDeleted(boolean deleted) {
        this.deleted = deleted;
    }

    public List<ItemState> getListOfItems() {
        return listOfItems;
    }

    public void setListOfItems(List<ItemState> listOfItems) {
        this.listOfItems = listOfItems;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public OutletState getOutlet() {
        return theOutlet;
    }

    public void setOutlet(OutletState theOutlet) {
        this.theOutlet = theOutlet;
    }

    public PartnerState getPartner() {
        return thePartner;
    }

    public void setPartner(PartnerState thePartner) {
        this.thePartner = thePartner;
    }

    public int getDiscount() {
        return discount;
    }

    public void setDiscount(int discount) {
        this.discount = discount;
    }
}
